package main

import . "local/algorithm/util"

/**
给你二叉树的根节点root 和一个表示目标和的整数targetSum ，判断该树中是否存在 根节点到叶子节点 的路径，这条路径上所有节点值相加等于目标和targetSum 。

叶子节点 是指没有子节点的节点。

来源：力扣（LeetCode）
链接：https://leetcode-cn.com/problems/path-sum
*/

func main() {

}

func hasPathSum(root *TreeNode, sum int) bool {
	if root == nil {
		return false
	} else if root.Left == nil && root.Right == nil {
		return root.Val == sum
	} else {
		return hasPathSum(root.Left, sum-root.Val) || hasPathSum(root.Right, sum-root.Val)
	}
}

func hasPathSum(root *TreeNode, sum int) bool {
	if root == nil {
		return false
	} else if root.Left == nil && root.Right == nil {
		return root.Val == sum
	} else {
		return hasPathSum(root.Left, sum-root.Val) || hasPathSum(root.Right, sum-root.Val)
	}
}
